// Typescript 类型的模式匹配：

type p = Promise<'sss'>;

// 提取value的类型

type GetValueType<P> = P extends Promise<infer Value> ? Value : never;

type res = GetValueType<p>; // type res = "sss"

// Typescript 类型的模式匹配是通过 extends 对类型参数做匹配，结果保存到通过 infer 声明的局部类型变量里，如果匹配就能从该局部变量里拿到提取出的类型。

export {};
